#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	while (scanf("%d %d", &a, &b) != EOF)
//	{
//		printf("%d\n", a + b);
//	}
//	return 0;
//}
//


//#include<stdio.h>
//
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int max = a > b ? a : b;
//	int i = 0;
//	for (i = max; i <= a * b; i++)
//	{
//		int temp = i;
//		if (temp % a == 0 && temp % b == 0)
//		{
//			printf("%d", i);
//			break;
//		}
//	}
//
//	return 0;
//}
//


#include<stdio.h>

int Strlen(char* str)
{
	int len = 0;
	while (*str++ != 0)
	{
		len++;
	}
	return len;
}

void reserve(char* str)
{
	int i = 0;
	int j = 0;
	int l = 0;
	int r = Strlen(str) - 1;
	int num = 0;
	int arr[100] = { 0 };
	for (i = 0; i < r; i++)
	{
		if (str[i] == ' ')
		{
			num++;
			arr[j++] = i;
		}
	}
	int len = Strlen(arr);
	while (1)
	{
		char temp = 0;
		temp = str[len];
		str[len] = str[0];
		str[0] = temp;
	}


}

int main()
{
	char arr[100] = { 0 };
	gets(arr);
	reserve(arr);
	printf("%s", arr);
	return 0;
}


//#include<stdio.h>
//
//
//struct S
//{
//	char arr[100];
//};
//
//int Strlen(char* str)
//{
//	int len = 0;
//	while (*str++ != 0)
//	{
//		len++;
//	}
//	return len;
//}
//
////void reserve(struct S arr[])
////{
////	int l = 0;
////	int r = Strlen(arr) - 1;
////	printf("%d", r);
////}
//
//int main()
//{
//	struct S str[100] = { 0 };
//	int i = 0;
//	int j = 0;
//	for(i=0;)
//	//reserve(str);
//	printf("%s",str);
//	return 0;
//}
